home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / e / ddmoduls.lha / dd_Modules / dd_libraries / dd_sharedlibs.lha / dd_sharedlibs.e next >
Text File  |  1995-02-26  |  2KB  |  89 lines

  1. -> dd_sharedlibs.e
  2.  
  3. -> FOLD OPTS
  4. OPT MODULE
  5. -> ENDFOLD
  6. -> FOLD MODULES
  7. MODULE 'asl'
  8. MODULE 'amigaguide'
  9. MODULE 'utility'
  10. MODULE 'utility/tagitem'
  11.  
  12. -> ENDFOLD
  13. -> FOLD OBJECTS
  14. EXPORT OBJECT sharedlibs PRIVATE
  15. ENDOBJECT
  16.  
  17. EXPORT DEF libs:PTR TO sharedlibs
  18. -> ENDFOLD
  19.  
  20. -> FOLD new
  21. EXPORT PROC new(tags:PTR TO tagitem) OF sharedlibs
  22.  
  23.   IF amigaguidebase=NIL
  24.     amigaguidebase:=OpenLibrary('amigaguide.library',37)
  25.   ENDIF
  26.   IF aslbase=NIL
  27.     aslbase:=OpenLibrary('asl.library',37)
  28.   ENDIF
  29.  
  30. ENDPROC
  31. -> ENDFOLD
  32. -> FOLD end
  33. EXPORT PROC end() OF sharedlibs
  34.   IF amigaguidebase
  35.     CloseLibrary(amigaguidebase)
  36.     amigaguidebase:=NIL
  37.   ENDIF
  38.   IF aslbase
  39.     CloseLibrary(aslbase)
  40.     aslbase:=NIL
  41.   ENDIF
  42. ENDPROC
  43. -> ENDFOLD
  44.  
  45. -> FOLD future
  46. /* Future expansion that allows run-time opens/closes on libraries. */
  47. /*
  48. EXPORT PROC new(tags:PTR TO tagitem) OF sharedlibs
  49.   DEF tag
  50.  
  51.   IF self.utility=FALSE
  52.     utilitybase:=OpenLibrary('utility.library',0)
  53.     self.utility:=TRUE
  54.  
  55.  
  56.  
  57.  
  58. EXPORT PROC use(tags:PTR TO tagitem) OF sharedlibs
  59.   IF (libs AND DD_LIBF_AMIGAGUIDE)
  60.     IF amigaguidebase=NIL
  61.       amigaguidebase:=OpenLibrary('amigaguide.library',37)
  62.     ENDIF
  63.     self.amigaguide.users:=self.amigaguide.users+1
  64.   ENDIF
  65.   IF (libs AND DD_LIBF_ASL)
  66.     IF aslbase=NIL
  67.       aslbase:=OpenLibrary('asl.library',37)
  68.     ENDIF
  69.     self.asl.users:=self.asl.users+1
  70.   ENDIF
  71. ENDPROC
  72. EXPORT PROC free(tagitems) OF sharedlibs
  73.   IF (libs AND DD_LIBF_AMIGAGUIDE)
  74.     self.amigaguide.users:=self.amigaguide.users-1
  75.     IF self.amigaguide.users=0
  76.       CloseLibrary(amigaguidebase)
  77.     ENDIF
  78.   ENDIF
  79.   IF (libs AND DD_LIBF_ASL)
  80.     self.asl.users:=self.asl.users-1
  81.     IF self.asl.users=0
  82.       CloseLibrary(aslbase)
  83.     ENDIF
  84.   ENDIF
  85. ENDPROC
  86. */
  87. -> ENDFOLD
  88.  
  89.